home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1984-06-02 | 1.8 KB | 75 lines |
- 10 <UNK! {0009}>REM SNAKE-COMPUTER GAME
- 20 <UNK! {0009}>REM MODIFIED VERSION
- 30 <UNK! {0009}>DEFINT A-Z
- 40 <UNK! {0009}>TI=VAL(RIGHT$(TIME$,2))
- 50 <UNK! {0009}>RANDOMIZE TI
- 60 <UNK! {0009}>OPTION BASE 1
- 70 <UNK! {0009}>DIM P(2),D(2)
- 80 <UNK! {0009}>KEY OFF:CLS:SCREEN 0,0,0: WIDTH 80
- 90 <UNK! {0009}>DEF SEG=&H40
- 92 <UNK! {0009}>IF (PEEK(&H10) AND &H30)=&H30 THEN DEF SEG=&HB000 ELSE DEF SEG=&HB800
- 95 PRINT">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> SNEAKY SNAKE <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
- 100 <UNK! {0009}>INPUT "ENTER VALUE FOR DELAY ('Q' FOR QUIT, 'RETURN' FOR SAME VALUE";Z1$
- 105 <UNK! {0009}>CLS:C=C+1
- 110 <UNK! {0009}>IF Z1$="Q" OR Z1$="q" THEN GOTO 650
- 120 <UNK! {0009}>IF Z1$="" THEN GOTO 140
- 130 <UNK! {0009}>Z=VAL(Z1$)
- 140 <UNK! {0009}>A=219:B=177
- 150 <UNK! {0009}>P(1)=2010
- 160 <UNK! {0009}>D(1)=2
- 170 <UNK! {0009}>P(2)=1990
- 180 <UNK! {0009}>D(2)=-2
- 190 <UNK! {0009}>R1=0.8
- 200 <UNK! {0009}>FOR I=0 TO 160 STEP 2
- 210 <UNK! {0009}>POKE I,178
- 220 <UNK! {0009}>POKE I+(4000-160),178
- 230 <UNK! {0009}>NEXT I
- 240 <UNK! {0009}>FOR I=0 TO 4000 STEP 160
- 250 <UNK! {0009}>POKE I,178
- 260 <UNK! {0009}>POKE I+158,178
- 270 <UNK! {0009}>NEXT
- 280 <UNK! {0009}>FOR I=11 TO 14
- 290 <UNK! {0009}>KEY (I) ON
- 300 <UNK! {0009}>NEXT
- 310 <UNK! {0009}>ON KEY(11) GOSUB 450
- 320 <UNK! {0009}>ON KEY(12) GOSUB 460
- 330 <UNK! {0009}>ON KEY(13) GOSUB 470
- 340 <UNK! {0009}>ON KEY(14) GOSUB 480
- 350 <UNK! {0009}>P(1)=P(1)+D(1)
- 360 <UNK! {0009}>P(2)=P(2)+D(2)
- 370 <UNK! {0009}>R!=R!+(1-R!)/20:N=N+1
- 380 <UNK! {0009}>IF PEEK(P(1))<>32 THEN GOTO 490
- 390 <UNK! {0009}>IF PEEK(P(2))<>32 THEN GOTO 500
- 400 <UNK! {0009}>POKE P(1),A
- 410 <UNK! {0009}>POKE P(2),B
- 420 <UNK! {0009}>GOSUB 510
- 430 <UNK! {0009}>FOR Q=1 TO Z:NEXT Q
- 440 <UNK! {0009}>GOTO 350
- 450 <UNK! {0009}>D(1)=-160:RETURN
- 460 <UNK! {0009}>D(1)=-2:RETURN
- 470 <UNK! {0009}>D(1)=2:RETURN
- 480 <UNK! {0009}>D(1)=160:RETURN
- 490 <UNK! {0009}>GOSUB 700:PRINT CHR$(11);"YOU LOSE ";:N=N/10:GOTO 600
- 500 <UNK! {0009}>GOSUB 710:PRINT CHR$(11);"YOU WIN ";:GOTO 600
- 510 <UNK! {0009}>IF PEEK(P(2)+D(2))=32 AND RND<R! THEN RETURN
- 520 <UNK! {0009}>IF ABS(D(2))=2 THEN D(2)=160:GOTO 560
- 530 <UNK! {0009}>IF ABS(D(2))=160 THEN D(2)=2
- 540 <UNK! {0009}>IF P(2)<2000 AND D(2)=160 THEN D(2)=-D(2)
- 550 <UNK! {0009}>GOTO 580
- 560 <UNK! {0009}>DI=P(2)/160
- 570 <UNK! {0009}>IF DI>12 THEN D(2)=-D(2):GOTO 580
- 580 <UNK! {0009}>IF PEEK(D(2)+P(2))<>32 THEN D(2)=-D(2)
- 590 <UNK! {0009}>RETURN
- 600 <UNK! {0009}>FOR I=1 TO 1000:NEXT
- 610 <UNK! {0009}>IF N>HIGH THEN HIGH=N
- 620 <UNK! {0009}>PT=PT+N:PRINT"SCORE:";N;" AVERAGE SCORE:";INT(PT/C);"HIGH SCORE:"HIGH
- 630 <UNK! {0009}>N=0
- 640 <UNK! {0009}>GOTO 100
- 650 <UNK! {0009}>PRINT "AVERAGE SCORE:";INT(PT/C);"HIGH SCORE:"HIGH
- 660 <UNK! {0009}>PRINT "THANKS FOR PLAYING"
- 670 END
- 700 <UNK! {0009}>FOR I=100 TO 50 STEP -5:SOUND I,1:NEXT 'LOSER SOUND
- 705 <UNK! {0009}>FOR I=1 TO 8:SOUND 37,1:SOUND 39,1:NEXT:RETURN
- 710 <UNK! {0009}>FOR I=200 TO 300 STEP 20:SOUND I,1:NEXT:SOUND 32767,2 'WINNER SOUND
- 715 <UNK! {0009}>FOR I=1 TO 2:SOUND 400,3:SOUND 600,4:SOUND 32767,1:NEXT:RETURN
-